package learn96_111;

public class Str {
    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        System.out.println("输入字符串：");
//        String s1 = sc.next();
//
//        int count1 = 0;
//        int count2 = 0;
//        int count3 = 0;
//
//        for (int i = 0; i < s1.length(); i++) {
//            char c = s1.charAt(i);
//            if (c >= 'a' && c <= 'z') {
//                count1++;
//            } else if (c >= 'A' && c <= 'Z') {
//                count2++;
//            } else if (c >= '0' && c <= '9') {
//                count3++;
//            }
//
//        }
//        System.out.println("小写字母有"+count1+"个");
//        System.out.println("大写字母有"+count2+"个");
//        System.out.println("数字有"+count3+"个");


        //查表法
//        String result = "";
//        String[] arr = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
//        Scanner sc = new Scanner(System.in);
//        int a=sc.nextInt();
//        int []arr1=new int[7];
//        for(int i=0;i<arr1.length;i++){
//            arr1[i]=a%10;
//            a/=10;
//        }
//        for (int i = arr1.length - 1; i >= 0; i--) {
//            result+=arr[arr1[i]];
//        }
//        String []arr2={"佰","拾","万","仟","佰","拾","元"};
//        for (int i = 0; i < result.length(); i++) {
//            char c = result.charAt(i);
//            System.out.print(c);
//            System.out.print(arr2[i]);
//        }


        //字符串相关底层原理
        //字符串拼接原理
        //没有变量直接拼接时在编译（生成class文件的时候）就完成了拼接

        //String s="a"+"b";

        //有变量参加时

        //jdk8之前 使用String Builder
        //String s2="a"+s2;   ->new StringBuilder().append("a").append(s2).toString();

        //StringBuilder 是new出来的 在堆区 那么堆区会有两个对象被创建
        // 一个是String Builder另外一个是toString的String对象
        //浪费性能 俩对象 浪费时间

        //jdk8及之后就是预估生成一个数组空间存储 在创建字符串对象

    //String Builder的原理是创建一个16位的空间 如果存储的数据超过16位 默认扩充*2+2=34位
//        如果超过34位 有多少位扩充到多少位

        StringBuilder sb=new StringBuilder();
        sb.append("abcdaiefhauehfalivbansbvaavhaiovhaoiuvboanbilansilvoahnvoianblknin");
        System.out.println(sb.capacity());
        System.out.println(sb.length());






    }
}


